Accelerated C++ : 効率的なプログラミングのための新しい定跡

キーフレーズ

vector const オプジェクト string 関数 コンストラクタ std students クラス size double () 演算子 プログラム student return info 定義 要素 grade データ name begin class iterator メンバ関数 ポインタ Student コピー 反復 core int Picture while istream read 文字列 operator Pic homework コンテナ end 場合 char 出力 Grad 使う base type cout 引数 ライプラリ str include median back vec 使っ 必要 public data 初期化 生成 戻す 文字 メモリ iter メンバ push 名前 戻り値 midterm コンパイラ 指す Core cin ostream データ構造 アクセス analysis template 実行 デストラクタ final compare パラメータ 最初 true 入力 friend private 学生 アルゴリズム 最後 呼び出し オペランド メジアン

目次

目次 序文 第 0 章 さあ、はじめよう コメント 0.2 #include . 0.3 malll 中力ッコ 0.5 出力に標準ライプラリを使う return ステートメント 0.6 0.7 少しだけ深く 詳細 . 0.8 -1 1 ~ つ」っ」っイ 1 り -9 一 1 亠イ 4 -11 11 string を使う 第 1 章 1.1 入力 . 1.2 名前にフレームをつける 第細 . 1.3 ループとカウント 第 2 章 2.1 2.2 全体の構造 2.3 あらかじめ行数のわからない行を書く 行の出力 2.4 フレームを描くプログラムの完成 2.5 カウント 2.6 細 . 一三ロ 1 上 1 亠 11 -11 っ 4 ワ 1 っ 4 日 一三ロ たくさんのデータを扱う 第 3 章 3.1 学生の成績をつける 平均ではなくメジアンを使う 3.2 羊細 . 3.3 一三ロ

第 4 章 プログラムとデータの構成 計算方法を構成する 4.1 4.2 データの構成 4.3 みんなまとめて . 4.4 成績処理プログラムの分割 . 4.5 成績処理プログラム改訂版 . 4.6 詳細 . シーケンシャルコンテナと stri ng の解析 学生をカテゴリに分類する 5.2 反復子 インデックスの代わりに反復子を使う 5.3 効率をよくするためにデータ構造を再検討する 5.4 list 型 . 5.5 string オプジェクトを分ける 5.6 split 関数をテストする 5.7 string オプジェクトをまとめる 5.8 5.9 詳細 . 第 6 章 ライブラリのアルゴリズムを使う string の解析 6.2 成績処理の仕組みを比べる . 6.3 学生の分類改訂版 アルゴリズム、コンテナ、反復子 6.4 詳細 . 6.5 第 7 章 連想コンテナを使う 効率的な探索ができるコンテナ 7.2 単語を数える 対照表を作る 7.3 7.4 文を作る 効率に関する注意 7.5 詳細 . 7.6 第 8 章 ジェネリック関数を書く ジェネリック関数とは何か 8.2 データ構造非依存性 8.3 入力反復子と出力反復子 . 8.4 柔軟性のための反復子 羊細 . 8.5 第 5 章 L.n 1 りワ 1 4 ・ 4 ー【い一 11 ′り 101 101 110 116 119 120 123 123 124 126 129 136 136 139 139 143 150 151 152 三一口

V11 155 155 156 159 . 163 163 166 167 新しい型を定義する 第 9 章 をもう 1 度 . Student-info クラス型 9.2 9.3 データ保護 Student-info クラス 9.4 コンストラクタ クラスを使う 9.6 Student-info 9.7 詳細 . メモリ管理と低レベルのデータ構造 第 10 章 ポインタと配列 . 10.1 文字列リテラル再論 10.2 文字ポインタ配列の初期化 . 10.3 main の引数 10.4 ファイルの読み書き 10.5 3 種類のメモリ管理 10.6 川 .7 169 169 176 177 . 179 . 180 182 185 詳細 . 抽象データ型を定義する 第 11 章 Vec クラス 11.1 vec クラスの実装 11.2 コピー管理 11.3 動的な vec 11.4 柔軟なメモリ管理 11.5 細 . 11.6 値のように振る舞うクラスオブジェクト 第 12 章 単純な文字列のクラス 12.1 自動の変換 12.2 Str の演算子 12.3 変換が危険な場合 12.4 型変換演算子 . 12.5 型変換とメモリ管理 12.6 詳細 . 12.7 継承と動的結合を使う 第 13 章 継承 . 13.1 多態性 ( ポリモルフィズム ) と仮想関数 . 13.2 問題解決に継承を使う 13.3 簡単なハンドルクラス 13.4 187 . 187 . 188 194 . 201 . 202 . 208 三一口 211 . 211 . 213 . 214 . 220 . 221 . 223 . 224 227 . 227 . 232 . 237 . 243

VIII ハンドルクラスを使う 微妙な点 詳細 . 第 14 章 メモリを ( ほとんど ) 自動で管理する オプジェクトをコピーするハンドル 14.1 参照カウント付きハンドル . 14.2 データを共有するかどうかを決められるハンドル 14.3 コピーカゞコン トロール可能なハンドルの改良 14.4 細 . 14.5 第 15 章 文字絵をもう 1 度 デザイン 15.1 実装 . 15.2 15.3 第 16 章 ここからどこへ行くかフ 手にした抽象を使おう 16.1 もっと学ばう 16.2 付録 A ロ語の詳細 A. 1 型 A. 2 工クスプレッション A. 3 A. 4 ステートメント 付録 B ライブラリのまとめ B. 1 入出力 コンテナと反復子 B. 2 アルゴリズム B. 3 訳者後書き 索引 13.5 13.6 13.7 . 247 . 248 250 253 . 253 . 260 . 263 . 265 . 268 一三ロ 269 269 . 277 . 287 一三ロ 289 . 289 . 291 293 . 293 . 298 . 303 . 306 309 . 309 312 . 320 325 326

奥付

本書の内容に関するご質問は、小社出版部宛まで必ず 書面にてお送りください。電話による内容のお問い合 わせはご容赦ください。また本書の範囲を超えるご質 問につきましてはお答えできかねる場合もありますの で、あらかじめご承知おきください。 C + + 旧 Depth Series AcceIerated C + + アンドリュー・コーニグ / バーノヾラ・ E ・ムー 効率的なプログラミングのための新しい定跡 2001 年 12 月 20 日 2009 年 9 月 30 日 ・印刷十製本 ・発行所 ー発行人 ・訳者 ー著者 初版第 1 刷発行 初版第 8 刷発行 . 小林健一郎 プレンダン・デラハンティ 株式会社ピアソン・エデュケーション 〒 166-0003 出版営業部 三美印刷株式会社 東京都杉並区高円寺南 2-44-5 電話 ( 03 ) 5929 ー 6050 FAX ( 03 ) 3 引 4 ー 8169 http : //www.pej -hed. j p 本書の内容を、いかなる方法においても無断で複写、転載することは禁じられています。 Translation copyright ◎ 2001 by PEARSON EDUCATION JAPAN Original English language title: Accelerated C + + : Practical Programming by Example, First Edition by Andrew Koenig and Barbara E. M00. Copyright ◎ 2000 by AT&T,Inc. , and Andrew Koenig and Barbara E. M00 AII Rights Reserved. PubIished by arrangement with the original publisher, ADDISON WESLEY LONGMAN,a pearson Education Company ・ れに d ⅲ Japan ISBN 4-89471-422-1